package datastructuur;

import java.util.ArrayList;

public class Regel {
	private NonTerminal gedefinieerde;
	private ArrayList<Alternatief> alternatieven = new ArrayList<Alternatief>();
	
	public void addStarter(Term term)
	{
		gedefinieerde.addStarter(term);
	}
	
	public ArrayList<Term> getStarters()
	{
		return gedefinieerde.getStarters();
	}

	public NonTerminal getGedefinieerde() {
		return gedefinieerde;
	}

	public void setGedefinieerde(NonTerminal gedefinieerde) {
		this.gedefinieerde = gedefinieerde;
	}

	public ArrayList<Alternatief> getAlternatieven() {
		return alternatieven;
	}

	public void setAlternatieven(ArrayList<Alternatief> alternatieven) {
		this.alternatieven = alternatieven;
	}
	
	public boolean contains(NonTerminal t)
	{
		boolean contains = false;
		for(Alternatief a : alternatieven)
		{
			contains |= a.contains(t);
		}
		return contains;
	}
	
	
	public String toString()
	{
		String s = gedefinieerde + " :== ";
		
		for(Alternatief a : alternatieven)
		{
			s+= a + "| ";
		}
		
		return s.substring(0, s.length()-3);
	}
}
